package gra;

/**
 * Klasa gracza "zywego"
 * Zadania: wybor kart do wymiany.
 */
import java.util.Scanner;

import GUI.Controler;

public class Human extends Player 
{
	public Human( String nazwa )//Konstruktor klasy.
	{
		super( nazwa );
	}
	
	/**
	 * Metoda implementujaca mozliwosc wymiany kart dla gracza nie bedacego botem.
	 * 
	 * @see gra.Player#operacja(int, gra.Card[])
	 */
	public int[] operacja( int rank, Card[] hand, int i )
	{
	    //TODO
	    return null;
	}
	
	public int[] operacja()
	{
	    //TODO oczekuje na wproawdzenie danych przez uzytkownika do GUI
	    return null;
	}
	public int[] operacja( int rank, Card[] hand )//Wybor kart do wymiany.
    {
	    String ile, index;
        int w           = 0;
        boolean warunek = true;
        Scanner scan    = new Scanner(System.in);
        
        System.out.println("Karty gracza "+ nazwa + " to: ");
        
        for( Card karta : hand )
        {
            karta.show();
        }
        
        System.out.println("\nIle kart chcesz wymienic: ");
        
        while( warunek )
        {
            ile = scan.nextLine();
            
            try
            {
                w = Integer.parseInt(ile);
                
                if( w >= 0 && w <= 4 )
                {
                    warunek = false;
                }
                else
                {
                    System.out.println("\nPodano nieprawidlowa wartosc, sprobuj ponownie: ");
                }
            }
            catch(NumberFormatException e)
            {
                System.out.println("\nPodano nieprawidlowa wartosc, sprobuj ponownie: ");
                
                warunek = true;
                w       = 0;
            }
        }
            
            
            
        if(w>0)
        {
            System.out.println("Podaj "+ w +" indeksow kart(0-4):");
        }
        for( int i = 0; i < w; i++ )
        {
            boolean warunek2 = true;
            
            while( warunek2 )
            {
                index = scan.nextLine();
                
                try
                {
                    int j = Integer.parseInt(index);
                    
                    if( j >= 0 && j <= 4 && hand[j] != null )
                    {
                        hand[j]  = null;
                        warunek2 = false;
                    }
                    else
                    {
                        System.out.println("Podano nieprawidlowy index, sprobuj ponownie.");
                    }
                }
                catch(Exception e)
                {
                    System.out.println("Podano nieprawidlowy index, sprobuj ponownie.");
                }
            }
        }
        int temp[] = new int[w];
        int k      = 0;
        
        for( int i = 0; i < 5; i++ )
        {
            if( hand[i] == null )
            {
                temp[k] = i;
                k++;
            }
        }
        
        return temp;
    }
	
	public int[] bid(int jackpot,int MaxBet,int cash,boolean opcje[],int lastBet, Licytator licytator )
    {
	    //TODO oczekuje na wproawdzenie danych przez uzytkownika
        int dane[] = new int[2]; //Dane
        
        dane = licytator.zwrocWprowadzoneDane();
        
        return dane;
    }
    
	
	
}
